﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//importamos
using EventSys.BussinesEntities;

namespace EventSys.Repository
{
    public class TipoActividadRepository:MasterRepository,ITipoActividadRepository
    {

        public List<TipoActividad> GetFromAllTipoActividad()
        {
            return Context.TipoActividads.ToList();
        }


        public List<TipoActividad> GetFromAllTipoActividadByCriterio(string criterio)
        {
            var query = Context.TipoActividads.ToList();

            if (criterio != "")  {
                query = (query.Where(ta => ta.Descripcion.ToUpper().Contains(criterio.ToUpper()))).ToList();
            }
            return query;
        }

        public TipoActividad TipoActividadById(int id)
        {
            var tipoactividad = Context.TipoActividads.Find(id);
            return tipoactividad;
        }

        public void RegistrarTipoActividad(TipoActividad tipoActividad)
        {
            var existe = Context.TipoActividads.Where(ta => ta.Descripcion.Equals(tipoActividad.Descripcion)).SingleOrDefault();

            if (existe == null)
            {
                Context.TipoActividads.Add(tipoActividad);
                Context.SaveChanges();
                throw new Exception("DATOS REGISTRADOS CORRECTAMENTE (*_*)");
            }
            else
            {
                throw new Exception("El TIPO ACTIVIDAD YA ESTA REGISTRADO (-_-)");
            }
        }


        public void EditarTipoActividad(TipoActividad tipoActividad)
        {
            Context.Entry<TipoActividad>(tipoActividad).State = System.Data.EntityState.Modified;
            Context.SaveChanges();
            //throw new Exception("DATOS MODIFICADIO EXITOSAMENTE (+_+)");
        }

        public void EliminarTipoActividad(int id)
        {
            var existe = Context.TipoActividads.Find(id);

            if (existe != null)
            {
                Context.TipoActividads.Remove(existe);
                Context.SaveChanges();
            }
        }
    }
}
